<?php
class login extends controlador
{
	private $tpl;
	public function __construct(tpl & $tpl)
	{
		$this->tpl = & $tpl;
	}
	public function registro()
	{
		$this->tpl->set("title","Formulario de registro");
		$this->tpl->set("descripcion","Ingresando al formulario de usuarios");
		if(TXTAUTH::$user->registered>0){
			$this->tpl->set("descripcion","Los usuarios registrados No pueden registrarse nuevamente");
			return "error";
		}
		$e = array();
		if(isset($_POST['data']))
		{
			$d = & $_POST['data'];
			
			if(file_exists(BASE_PATH . '/usuarios/' . $d['email']))
			{
				$this->tpl->set("title","Registro Con errores");
				$e['e_email'] = 'El correo electronico ' .$d['email']. ' Ya existe';
			}
			else
			{
				$datos = array(
					"nombre" => $d['nombre'],
					"email" => $d['email'],
					"password" => $d['password'],
				);
				file_put_contents(BASE_PATH . '/usuarios/' . $d['email'],json_encode($datos));
				if(file_exists(BASE_PATH . '/usuarios/' . $d['email']))
				{
					$m='Usted se registro perfectamente';
					$this->tpl->set("title","Registro Exitoso");
				}
				else
				{
					$this->tpl->set("title","Registro Con errores");
					$m="No se pudo registrar por alguna razon talvez";
				}
				return "<h1 class='ok'>$m</h1>";
			}
		}
		return $this->registrarse($e);
	}
	private function registrarse($mensajes = array())
	{
		$datos = array('url' => BASE_URL .'/ejemplos/index.php/login:registro'
			
		);
		return $this->tpl->parseAndRender('login/form_registro',array_merge($datos,$mensajes));
	}
	public function conectarse()
	{
		if(isset($_POST['login']))
		{
			$d = &$_POST['login'];
			TXTAUTH::login($d['email'] ,
			$d['password']);
			if(TXTAUTH::$user->registered)
			{
				return $this->user();
			}
		}
		if(!TXTAUTH::$user->registered){return $this->guest();}
		
	}
	public function login()
	{

		if(TXTAUTH::$user->registered > 0)
		{
			return $this->user();
		}
		return $this->guest();
	}
	private function guest($mensajes=array())
	{
		$datos = array('url_registro' => BASE_URL .'/ejemplos/index.php/login:registro',
					'url_conectarse' => BASE_URL .'/ejemplos/index.php/login:conectarse');
		return $this->tpl->parseAndRender('login/guest',array_merge($datos,$mensajes));
	}
	private function user($mensajes=array())
	{
		$datos = array('url' => BASE_URL .'/ejemplos/index.php/login:registro',
			'nombre' => TXTAUTH::$user->nombre
		);
		return $this->tpl->parseAndRender('login/user',array_merge($datos,$mensajes));
	}
}